Developments in the graphics processing industry have been driven in recent years, in part, by PC gaming. A typical high-end gaming workstation requires massive amounts of power and provides visually appealing functionality based on three-dimensional rendering. The resulting graphics processors produce impressively rendered images, but they also have a very limited life cycle and have more features than are required in many secondary markets.
In the past sixteen years, over 500 different graphics processing units (GPUs) have been released by the major GPU manufacturers. Once a new architecture is released, the previously released GPUs typically are not produced or even supported any longer because the market demand has shifted to the new design. This lack of device availability and support creates a tremendous challenge for industrial, safety-critical, and embedded applications that have a much longer life cycle than consumer products.
The competition between the major GPU manufacturers has been motivated by a tremendous growth in the gaming market, which grew by 75% between 2000 and 2005. Since the early 1980s, game console hardware has increased in processing frequency at a rate even exceeding the general CPU processors. The increased pressures for more and more realistic gaming has resulted in considerable focus on the hardware GPU, which could be described as a special purpose accelerator that offloads much of the rendering and rasterization workload from the CPU.
One disadvantage of these circumstances is that the GPUs are not typically suitable for embedded, low-power, or long life cycle applications. However, an advantage is the remarkable performance and interface concepts that have developed GPUs into highly parallel computing machines. The basic motivation for such parallel architectures is simply to keep the GPU processing resources busy so that the CPU can focus primarily on the application's non-graphical requirements. The software interface to the GPU is simple and does not exhibit parallelisms, but the underlying hardware is highly parallel.
The design goals for the gaming GPU architecture often are flexibility, programmability, and scalability with a high-definition output resolution. In one example, the designers used multiple CPU cores that interface to a GPU core with 48 parallel arithmetic logic units (ALUs). To reduce memory bottlenecks, DDR3 memory provides a total memory bandwidth of 22.4 Gbytes/sec. The GPU, which was released in 2005, ran at a clock frequency of 500 MHz. The GPU also has 10 Mbytes of embedded DRAM (EDRAM), which is DRAM that is integrated onto the same silicon with the rest of the GPU circuitry. This EDRAM is used to eliminate the depth buffering and alpha blending bandwidth requirements from the external memory interface bottleneck.
Since many of the GPUs that are released today have targeted such specific, high-volume applications, there are many other applications that are not being adequately addressed. As an example, industrial displays and portable displays both have unique requirements that are often unfulfilled by the mainstream graphics processors. Industrial displays typically require long life cycle support, and portable displays usually require reduced functionality to minimize cost, power, and size. There is a definite need for an alternative graphics processing solution to satisfy such secondary markets.
It is to the provision of solutions to these and other problems that the present invention is primarily directed.